package com.jintoufs.service.user;

import com.jintoufs.dao.QueryFilters;
import com.jintoufs.domain.user.User;
import org.cosmos.modules.web.msg.AjaxMsg;

import java.util.List;
import java.util.Map;

/**
 * @author zhx
 */
public interface UserService {
    /**
     * 根据条件查询
     *
     * @param filters 属性列表，过滤存在的属性值
     */
    List<Map> getByFilter(QueryFilters filters);

    /**
     * 添加
     */
    User add(User user, AjaxMsg ajaxMsg);

    /**
     * 更新
     */
    void update(User user, AjaxMsg ajaxMsg);

    /**
     * 删除
     */
    void delete(Integer id);

    /**
     * 登录
     */
    User login(String trim, String md5Encoder);

    /**
     * 根据参数查询
     */
    List<User> queryByParams(Map<String, Object> params);

    /**
     * 角色查询用户
     *
     * @param roleName
     * @return
     */
    List<User> getUserByRoleName(String roleName);

    Map<String, Object> queryUserById(Integer id);

    User queryByPrimaryKey(Integer id);

    String getUserRoleNameById(Integer id);

    /**
     * 获取要是密码岗指纹库
     *
     * @return
     */
    List<String> getFingerList();

    List<String> getCodeList();

    List<User> queryUsersByTaskId(Map<String, Object> params);

    User initPassword(Integer id);

    User getByEmpNo(String empNo);
}
